ביטקוין: מערכת שיתופית לכסף אלקטרוני

Similar documents
קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

ASP.Net MVC + Entity Framework Code First.

A R E Y O U R E A L L Y A W A K E?

THINKING ABOUT REST THE ORIGIN OF SHABBOS

Patents Basics. Yehuda Binder. (For copies contact:

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

Reflection Session: Sustainability and Me

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

Practical Session No. 13 Amortized Analysis, Union/Find

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

המבנה הגאומטרי של מידה

הקיטסיגול הרבחה יעדמל בלושמה גוחה

מקוון Sharing and Playing: Serious Games and Collaboration in Online Education

תכנות בטוח חלק ב ' מאת עידו קנר

Genetic Tests for Partners of CF patients

IBM System x3690 X5 תושבות. בלבד" מסוג.Nehalem EX במיוחד. Intel Xeon Nehalem EX 32 עד 64 רכיבי DIMM מסוג DDR3

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

מדריך שימוש בדואר האלקטרוני

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

ראש השנה דף. 1. A) Our משנה says,... שנראה בעליל בין שלא נראה בעליל.בין Based on this,פסוק what does the word עליל mean?

Chofshi.

CML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

מבוא לתכנות ב- JAVA תרגול 7

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

תרגול 8. Hash Tables

Yetzer Shalom: Inclinations of Peace

Homework 10. Theoretical Analysis of Service Stations in Steady State. Priority Queues.

T H E S U N F L O W E R L I M I T S T O F O R G I V E N E S S

דיאלוג מומחז בין מרטין בובר וקרל רוג'רס

מושגים בסיסיים תלמידים והורים יקרים,

Depth-First Search DFS

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

Global Day of Jewish Learning

A Long Line for a Shorter Wait at the Supermarket

כנס את תבואתו - He harvested the produce of his grapevine

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק(

FAIL CONFR URE ONTING

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

מבוא למחשב בשפת פייתון

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

WHAT IS THE PSHAT OF A METAPHORICAL MITZVAH?

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

בכפר המכביה, רמת-גן הסדנה תתקיים באנגלית. ביוגיימינג בע"מ המגשימים 20, פתח תקווה טל

Global Day of Jewish Learning

מדריך למשתמש התקנה עצמית

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

Information The marks for questions are shown in brackets. The maximum mark for this paper is 40. You must not use a dictionary.

סוגי פניות בתוכנית הלימודים עיוני משולב מעשי 180 דקות 4 שיעורים

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

בוחן בתכנות בשפת C בצלחה

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

הקשר בין סמים, ביטקוין ופשע מאורגן

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

תרגול מס' 01 אלגוריתם דיניץ

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

BEING A VISIONARY JOLT LEADERSHIP PROGRAM 2014

חטיבת המינרלים החיוניים תתמקד בשוקי האגרו וחטיבת הפתרונות המיוחדים תשמש כחטיבה התעשייתית; כיל דשנים מיוחדים תשולב בחטיבת המינרלים החיוניים;

Water Security in the Middle East Source of Tension or Avenue for Peace

מסנן סולארי: הוראות שימוש

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

אנגלית (MODULE E) בהצלחה!


אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

מבוא לתרבות סייבר שיעור מס

הסדר הציבורי דורש שכללי המשפט יקויימו. לכן המדינה מקנה להם מעמד מחייב, ואף מקבלת על עצמה לאכוף אותם. לצורך זה היא הקימה מוסדות מיוחדים: המשטרה, פרקליט

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "קריאת גרפים" בשאלון 801 שבאתר 116

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

The Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal

Parashat Shemot: Why Moshe?

נילי חמני

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

FREE WILL? Groups with tables to work on

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

Hebrew Adjectives. Hebrew Adjectives fall into 3 categories: Attributive Predicative Substantive

כיורי גרניט כיורי מטבח עשויים גרניט להתקנה שטוחה, עמידות מלאה בפני שריטות וכתמים, עמידות בחום עד C ניקוי קל ומהיר צבע שאינו דוהה

SHABBAT UNPLUGGING & RECONNECTING

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

מדריך למשתמש התקנה עצמית

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

In the previous two classes, we discovered the spiritual dimension of our Self, the soul that

L fi-kach Nivrah Adam Yehidi! That is why Adam was created all alone!

***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times

12:34 PM. Josh. Can t believe there were so many people at that party soooooo much fun!

B E N D, S T R A I G H T E N, B A L A N C E

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

JUDAISM AND INDIVIDUALITY

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

Transcription:

ביטקוין: מערכת שיתופית לכסף אלקטרוני סאטושי נאקאמוטו Nakamoto) (Satoshi satoshin@gmx.com www.bitcoin.org תורגם על ידי: מני רוזנפלד נערך על ידי: ג'ים נגוין תקציר. גרסה שיתופית לחלוטין של כסף אלקטרוני תאפשר לשלוח תשלומים מקוונים ישירות מצד אחד לשני מבלי לעבור דרך מוסד כספי. חתימות דיגיטליות מהוות חלק מהפיתרון, אולם עיקר התועלת תאבד אם צד שלישי נאמן עדיין דרוש כדי למנוע ניצול כפול. אנו מציעים פיתרון לבעיית הניצול הכפול המשתמש ברשת שיתופית. הרשת מייצרת חותמות זמן עבור פעולות על ידי ן לשרשרת מתמשכת של הוכחת עבודה, ובכך מנהלת רישום שאינו נתון לשינוי ללא שחזור הוכחת העבודה. השרשרת הארוכה ביותר משמשת לא רק כהוכחה של סדר האירועים שנצפו, אלא גם הוכחה שהיא הגיעה מהריכוז הגדול ביותר של כוח חישובי. כל עוד מרבית כוח החישוב נשלט על ידי צמתים שאינם משתפים פעולה כדי לתקוף את הרשת, הם ייצרו את השרשרת הארוכה ביותר ויעלו בקצב על תוקפים. הרשת עצמה דורשת מבנה מזערי. הודעות מופצות על בסיס מיטב המאמצים, וצמתים יכולים לעזוב את הרשת ולהצטרף אליה כרצונם, ולקבל את שרשרת הוכחת העבודה הארוכה ביותר כהוכחה של מה שקרה בזמן היעדרותם. 1. מבוא מסחר באינטרנט כיום מסתמך באופן כמעט בלעדי על מוסדות כספיים המשמשים כצד שלישי נאמן לעיבוד תשלומים אלקטרוניים. המערכת עובדת באופן משביע רצון עבור רוב העסקאות, אך עם זאת, היא עדיין סובלת מהחולשות הטבועות במודל מבוסס האמון. פעולות שהן לחלוטין בלתי-ניתנות לביטול אינן באמת אפשריות, מכיוון שהמוסד הכספי אינו יכול להימנע מגישור מחלוקות. עלות הגישור מעלה את עלויות הפעולה, מה שמגביל את הגודל המעשי המזערי לעסקה ומונע את האפשרות לעסקאות אגביות קטנות, ויש עלות רחבה יותר באובדן היכולת לבצע תשלומים בלתי-ניתנים לביטול עבור שירותים בלתי-ניתנים לביטול. האפשרות לביטול מרחיבה את הצורך באמון. סוחרים חייבים להיזהר מלקוחותיהם, ולהטריח אותם לספק יותר מידע מאשר היה נחוץ אחרת. הם משלימים בלית ברירה עם אחוז מסוים של הונאה, הנתפש כבלתי-נמנע. ניתן להימנע מהעלויות האלו ומחוסר הוודאות בתשלומים על ידי שימוש במטבע גשמי, אך אין בנמצא מנגנון לבצע תשלומים על גבי ערוץ תקשורת ללא צד נאמן. נחוצה מערכת תשלומים אלקטרוניים המבוססת על הוכחה קריפטוגרפית במקום אמון, המאפשרת לכל שני צדדים החפצים בדבר לבצע פעולה זה עם זה באופן ישיר ללא צורך בצד שלישי נאמן. פעולות שמבחינה חישובית אין זה מעשי להפוך אותן יגנו על מוכרים מפני הונאה, וניתן בקלות לממש מנגנוני השלשה שגרתיים בכדי להגן על קונים. במאמר זה, אנו מציעים פיתרון לבעיית הניצול הכפול המשתמש בשרת חותמות-זמן שיתופי מבוזר בשביל ליצור הוכחה חישובית של הסדר הכרונולוגי של פעולות. המערכת בטוחה כל עוד הצמתים הישרים שולטים יחד ביותר עוצמת חישוב מכל קבוצת צמתים תוקפים המשתפים פעולה. 1

2. פעולות אנו מגדירים מטבע אלקטרוני כשרשרת של חתימות דיגיטליות. כל בעלים מעביר את המטבע לבא אחריו על ידי חתימת (Hash) של הפעולה (transaction) הקודמת והמפתח הציבורי של הבעלים הבאים, והוספת אלו לסוף המטבע. מקבל תשלום יכול לאמת את החתימות בכדי לוודא את שרשרת הבעלות. פעולה פעולה פעולה מפתח ציבורי של בעלים - 1 מפתח ציבורי של בעלים - 2 מפתח ציבורי של בעלים - 3 אימות חתימה של בעלים 0 חתימה אימות חתימה של בעלים 1 חתימה חתימה של בעלים 2 מפתח פרטי של בעלים 1 מפתח פרטי של בעלים 2 מפתח פרטי של בעלים 3 הבעיה היא כמובן שמקבל התשלום אינו יכול לודא שאף אחד מהבעלים לא שילם באמצעות המטבע פעמיים (ניצול כפול,.(double-spend פיתרון נפוץ הוא להכניס סמכות מרכזית הזוכה לאמון, מטבעה, שבודקת כל פעולה כנגד ניצול כפול. לאחר כל פעולה, המטבע חייב לחזור אל המטבעה כדי להנפיק מטבע חדש, ורק על מטבעות שהונפקו ישירות מהמטבעה סומכים שלא עברו ניצול כפול. הבעיה בפיתרון זה הוא שהגורל של המערכת הכספית בכללותה תלוי בחברה המפעילה את המטבעה, היות וכל פעולה חייבת לעבור דרכם, בדיוק כמו בבנק. אנו זקוקים לדרך בה מקבל התשלום יוכל לדעת שהבעלים הקודמים לא חתם על אף פעולה מוקדמת יותר. לצרכים שלנו, הפעולה המוקדמת ביותר היא הקובעת, כך שאיננו דואגים מנסיונות מאוחרים יותר לניצול כפול. הדרך היחידה לאשר את העדר פעולה היא להיות מודע לכל הפעולות. במודל מבוסס המטבעה, המטבעה מודעת לכל הפעולות ומחליטה איזו הגיעה קודם. כדי להשיג זאת ללא צד נאמן, חובה להכריז על פעולות באופן פומבי [1], ונחוצה מערכת להסכמה בין משתתפים לגבי היסטוריה יחידה של הסדר בו הן התקבלו. מקבל התשלום זקוק להוכחה שבזמן בו כל פעולה התבצעה, רוב הצמתים הסכימו כי היא היתה הראשונה שהתקבלה. 3. שרת חותמות-זמן הפיתרון אותו אנו מציעים מתחיל עם שרת חותמות-זמן server).(timestamp שרת חותמות-זמן פועל על ידי לקיחת של block) ( של פריטים הזקוקים לחותמת זמן והפצתו באופן נרחב, למשל בעיתון או ב- Usenet (ראה [2-5]). חותמת הזמן מוכיחה שבהכרח הנתונים היו קיימים באותו זמן, אחרת לא היו יכולים להיות כלולים ב. כל חותמת-זמן מכילה את חותמת-הזמן הקודמת ב שלה, מה שיוצר שרשרת בה כל חותמת-זמן נוספת מתגברת את אלו שבאו לפניה. פריט פריט פריט פריט 2

4. הוכחת עבודה בכדי לממש שרת חותמות-זמן על בסיס שיתופי, אנו נצטרך מערכת הוכחת עבודה (Proof-of-work) בדומה ל- Hashcash של אדם בק [6], במקום פרסומים בעיתון או ב- Usenet. הוכחת העבודה כרוכה בחיפוש אחר ערך שכאשר הוא עובר, למשל עם,SHA-256 ה מתחיל במספר מסוים של סיביות אפס. הכמות הממוצעת של העבודה הדרושה היא מעריכית במספר סיביות האפס הדרושות, והיא יכולה להתאמת תוך ביצוע בודד. בשביל רשת חותמות-הזמן שלנו, אנו מממשים את הוכחת העבודה על ידי הגדלת מספר חד-פעמי (nonce) ב עד שנמצא ערך המעניק ל של ה את המספר הדרוש של סיביות אפס. לאחר שהמאמץ החישובי הושקע בשביל לגרום ל לספק את הוכחת העבודה, לא ניתן לשנות אותו מבלי לבצע את העבודה מחדש. מאחר וים מאוחרים יותר משורשרים אחריו, העבודה הדרושה כדי לשנות תכלול ביצוע מחדש של כל הים שלאחריו. חד"פ חד"פ פע' פע פע פע הוכחת העבודה גם פותרת את בעיית קביעת הייצוג בקבלת החלטות מבוססת רוב. אם הרוב היה מבוסס על "קול לכל כתובת,"IP כל מי שמסוגל להקצות כתובות רבות היה יכול לחתור תחתיו. הוכחת עבודה היא למעשה "קול לכל מעבד". החלטת הרוב מיוצגת על ידי השרשרת הארוכה ביותר, בה מושקע מאמץ הוכחת העבודה הרב ביותר. אם רוב עוצמת החישוב נשלטת על ידי צמתים ישרים, השרשרת הישרה תצמח בקצב המהיר ביותר ותשיג כל שרשרת מתחרה. בכדי לשנות מהעבר, תוקף יצטרך לבצע מחדש את הוכחת העבודה של ה וכל הים לאחריו, ואז להדביק את הפער ולעלות על העבודה של הצמתים הישרים. מאוחר יותר נראה שההסתברות שתוקף איטי יותר ידביק את הפער קטנה באופן מעריכי ככל שים עוקבים מתווספים. בכדי לפצות על הגדילה במהירות החומרה והשתנות ברמת העניין בהפעלת צמתים לאורך זמן, דרגת הקושי של הוכחת העבודה נקבעת על ידי ממוצע נע השם למטרה מספר ממוצע מסוים של ים לשעה. אם הם נוצרים מהר מדי, דרגת הקושי עולה. 5. רשת השלבים בהפעלת הרשת הם כדלקמן: 1) פעולות חדשות משודרות לכל הצמתים. 2) כל צומת אוסף פעולות חדשות לתוך. 3) כל צומת עובד על מציאת הוכחת עבודה קשה ל שלו. 4) כשצומת מוצא הוכחת עבודה, הוא משדר אותו לכל הצמתים. 5) צמתים מסכימים עם ה רק אם כל הפעולות בו הן תקינות ולא נוצלו כבר. 6) צמתים מבטאים את הסכמתם עם בעצם זה שהם עובדים על יצירת ה הבא בשרשרת, תוך שימוש ב של הבלוק שהתקבל בתור ה הקודם. צמתים תמיד מתייחסים לשרשרת הארוכה ביותר כאל השרשרת הנכונה וימשיכו לעבוד על הארכתה. אם שני צמתים משדרים גרסאות שונות של ה הבא בו-זמנית, חלק מהצמתים יקבלו את האחד או השני תחילה. במקרה זה, הם יעבדו על הראשון שהם קיבלו, אבל ישמרו את הענף השני למקרה שהוא יהפך לארוך יותר. התיקו יישבר כשהוכחת העבודה הבאה תימצא ואחד מהענפים יהפך לארוך יותר; הצמתים שעבדו על הענף האחר יעברו לענף הארוך יותר. 3

שידורים של פעולות חדשות לא צריכים בהכרח להגיע לכל הצמתים. כל עוד הם מגיעים לצמתים רבים, הם ייכנסו לתוך בחלוף זמן לא רב. שידורי הם גם סובלניים לגבי הודעות שנשמטו. אם צומת לא מקבל, הוא יבקש אותו כשהוא מקבל את ה הבא ומבין שהוא החמיץ אחד. 6. תמריץ על פי המוסכמה, הפעולה הראשונה בכל היא פעולה מיוחדת שמתחילה מטבע חדש בבעלותו של יוצר ה. זה מוסיף תמריץ לצמתים לתמוך ברשת, ומעניק דרך ראשונית להפיץ מטבעות למחזור, מאחר ואין סמכות מרכזית היכולה להנפיק אותם. התוספת הקבועה של מטבעות חדשים מקבילה לכורי זהב המוציאים משאבים כדי להוסיף זהב למחזור. במקרה שלנו, המשאבים הם זמן מעבד ואנרגיה חשמלית. התמריץ יכול גם להיות ממומן על ידי עמלות פעולה. אם ערך הפלט של פעולה נמוך מערך הקלט, ההפרש הוא עמלת פעולה שמתווספת לערך התמריץ של ה המכיל את הפעולה. לאחר שמספר קבוע מראש של מטבעות נכנס למחזור, התמריץ יכול לעבור באופן בלעדי לעמלות פעולה ולהיות נקי לחלוטין מאינפלציה. התמריץ יכול לעזור בעידוד צמתים להישאר ישרים. אם תוקף חמדן מסוגל לכנוס יותר כוח חישוב מכל הצמתים הישרים, הוא יצטרך לבחור בין שימוש בו כדי להונות אנשים בגניבת התשלומים שלו בחזרה, או שימוש בו ליצור מטבעות חדשים. מתקבל על הדעת שיהיה זה רווחי יותר בעיניו לשחק לפי הכללים, כללים אלו שחוננים אותו ביותר מטבעות חדשים מאשר כל שאר המשתתפים ביחד, מאשר לרופף את המערכת ואת תקפות ההון של עצמו. 7. שחרור נפח כונן מהרגע בו הפעולה האחרונה במטבע קבורה תחת מספיק ים, הפעולות המנוצלות לפניה יכולות להיזרק כדי לחסוך בנפח כונן. כדי לסייע בכך מבלי לשבור את ה, הפעולות מגובבות בעץ מרקל Tree),Merkle ראה [5][2][7]), באופן שרק השורש כלול ב ה. ים ישנים יכולים לעבור צמצום על ידי גדימת ענפים מהעץ. אין צורך לשמור את הים הפנימיים. כותרת ה ( ה ( כותרת ה ( ה ( חד"פ חד"פ השורש השורש 01 23 01 23 0 1 2 3 2 3 פע' 0 פע' 1 פע' 2 פע' 3 פע' 3 פעולות מגובבות בעץ מרקל לאחר גיזום פע 0-2 מה כותרת ללא פעולות תתפוס בערך 80 בתים. אם אנו מניחים שים נוצרים כל 10 דקות, מדובר ב- 80 בתים * 6 * 24 * 365 = 4.2MB לשנה. בהינתן שמערכות מחשב טיפוסיות נמכרות עם 2GB זיכרון נכון לשנת 2008, וחוק מור צופה צמיחה עכשווית של 1.2GB לשנה, לא אמורה להיות בעיית אחסון גם אם חובה לשמור את כותרות הים בזיכרון. 4

8. אימות מפושט של פעולות ניתן לאמת פעולות מבלי להפעיל צומת רשת מלא. משתמש צריך רק לשמור עותק של כותרות הים של שרשרת הוכחות העבודה הארוכה ביותר, אותו הוא יכול לקבל על ידי שאילתות לצמתים ברשת עד שהוא משוכנע שיש לו את השרשרת הארוכה ביותר, ולהשיג את ענף המרקל המקשר את הפעולה ל בו יש לה חותמת זמן. הוא לא יכול לבדוק את הפעולה בעצמו, אבל על ידי קישורה למקום בשרשרת, הוא יכול לראות שצומת ברשת הסכים איתה, וים שמתווספים אחריה מהווים אישוש נוסף שהרשת מסכימה איתה. שרשרת הוכחת העבודה הארוכה ביותר כותרת כותרת כותרת מס' חד"פ מס' חד"פ מס' חד"פ שורש מרקל שורש מרקל שורש מרקל 01 23 ענף מרקל עבור פע' 3 2 3 פע' 3 בתור שכזה, האימות הוא אמין כל עוד צמתים ישרים שולטים ברשת, אבל הוא פגיע יותר אם תוקף גובר על הרשת. בעוד צמתים ברשת יכולים לאמת פעולות בעצמם, השיטה המפושטת יכולה ללכת שולל אחר פעולות בדיוניות של תוקף כל עוד הוא יכול להמשיך לגבור על הרשת. אסטרטגיה אחת להגן מפני זה היא לקבל התרעות מצמתים ברשת כשהם חושפים לא קביל, ולהניע את התוכנה של המשתמש להוריד את ה המלא והפעולות החשודות כדי לאשר את חוסר העקביות שלהן. עסקים שמקבלים תשלומים באופן תדיר כנראה ירצו עדיין להפעיל צמתים משל עצמם לצורך מידה רבה יותר של אבטחה בלתי-תלויה ואימות מהיר יותר. 9. צירוף ופיצול ערך אף על פי שהיה אפשר לטפל במטבעות באופן פרטני, יהיה זה מסורבל לקיים פעולה נפרדת לכל אגורה בהעברה. כדי לאפשר לערך לעבור צירוף ופיצול, פעולות מכילות קלטים ופלטים מרובים. באופן רגיל יהיו או קלט אחד מפעולה קודמת גדולה יותר או קלטים מרובים המצרפים כמויות קטנות יותר, ולכל היותר שני פלטים: אחד בשביל התשלום, ואחד בשביל להחזיר את העודף, אם קיים, בחזרה אל השולח. פעולה קלט קלט פלט ראוי לציין שהסתעפות, בה כל פעולה תלויה במספר פעולות, ופעולות אלה תלויות ברבות נוספות, אינה בעיה כאן. לעולם אין צורך להפיק עותק שלם העומד בפני עצמו של ההיסטוריה של פעולה. 5

10. פרטיות המודל הבנקאי המסורתי משיג רמה מסוימת של פרטיות בכך שהוא מגביל את הגישה למידע לצדדים המעורבים ולצד השלישי הנאמן. ההכרח בהכרזת כל הפעולות באופן פומבי מוציא מכלל חשבון את השיטה הזאת, אבל עדיין ניתן לשמור על פרטיות על ידי שבירת זרימת המידע במקום אחר: שמירת האלמוניות של מפתחות ציבוריים. הציבור יכול לראות שמישהו שולח כמות מסוימת למישהו אחר, אך ללא מידע המקשר את הפעולה לגורם כלשהו. דומה הדבר לרמת המידע המשחררות בורסות מניות, בהן הזמן והגודל של פעולות פרטניות, ה"פסנוע", מוצג באופן גלוי, אך מבלי לומר מי היו הצדדים. מודל הפרטיות המסורתי זהויות פעולות צד שלישי נאמן צד שני ציבור מודל הפרטיות החדש זהויות פעולות ציבור כאמצעי הגנה נוסף, יש להשתמש בזוג מפתחות חדש לכל פעולה כדי למנוע מהם להיות מקושרים לבעלים משותף. מידה מסוימת של קישור היא עדיין בלתי-נמנעת עם פעולות מרובות קלטים, שבהכרח חושפות שהקלטים שלהן היו שייכים לאותו בעלים. הסיכון הוא שאם הבעלים של מפתח נחשף, קישור יכול לחשוף פעולות נוספות ששייכות לאותו בעלים. 11. חישובים q z אנו בוחנים תרחיש בו תוקף מנסה ליצור שרשרת חלופית מהר יותר מהשרשרת הישרה. גם אם הדבר מתבצע, המערכת אינה נפתחת לשינויים שרירותיים, כמו יצירת ערך יש מאין או לקיחת כסף שמעולם לא היה שייך לתוקף. צמתים לא יסכימו לקבל פעולה בלתי-קבילה כתשלום, וצמתים ישרים לעולם לא יסכימו עם המכיל אותן. תוקף יכול רק לנסות לשנות אחת מהפעולות שלו כדי לקחת בחזרה כסף שהוא הוציא לאחרונה. ניתן לאפיין את המירוץ בין השרשרת הישרה ושרשרת של תוקף בתור הילוך אקראי בינומי. מאורע ההצלחה הוא שהשרשרת הישרה מתארכת ב אחד, מה שמגדיל את ההובלה בשיעור 1+, ומאורע הכישלון הוא שהשרשרת של התוקף מתארכת ב חד, מה שמפחית את הפער בשיעור 1-. ההסתברות שתוקף ידביק את הפער מגרעון נתון מקביל לבעיית מפולת המהמר. נניח כי מהמר עם אשראי בלתי-מוגבל מתחיל עם גירעון ומשחק בניסיון להגיע לאיזון מספר נסיונות היכול להיות אינסופי. אנו יכולים לחשב את ההסתברות שהוא יגיע אי-פעם לאיזון, כלומר שהתוקף ידביק אי-פעם את הפער עם השרשרת הישרה, כדלקמן [8]: = p ההסתברות שצומת ישר ימצא את ה הבא = q ההסתברות שהתוקף ימצא את ה הבא = ההסתברות שהתוקף ידביק אי-פעם את הפער מפיגור של z ים q z ={ 1 q/ p z if p q if p q} 6

בהינתן ההנחה שלנו כי,p>q ההסתברות קטנה באופן מעריכי ככל שגדל מספר הים איתם התוקף צריך להדביר את הפער. היות והסיכויים פועלים נגדו, אם אין לו את המזל בזינוק קדימה בתחילה, הסיכויים שלו נהיים אפסיים ככל שהפיגור שלו גדל. עתה נבחן כמה המקבל של פעולה חדשה צריך להמתין כדי להיות בטוח במידה מספיקה שהשולח אינו יכול לשנות את הפעולה. אנו מניחים שהשולח הוא תוקף הרוצה לגרום למקבל להאמין לזמן-מה שהוא שילם לו, ואז להחליף את הפעולה כדי לשלם בחזרה לעצמו. המקבל יקבל התרעה כשזה יקרה, אך התוקף מקווה שזה יהיה מאוחר מדי. המקבל יוצר זוג מפתחות חדש ונותן את המפתח הציבורי לשלוח זמן קצר לפני החתימה. זה מונע מהתוקף להכין שרשרת ים מבעוד מועד על ידי עבודה רצופה עליה עד שיש לו מספיק מזל כדי להוביל במידה מספקת, ואז לבצע את הפעולה באותו הרגע. ברגע בו הפעולה נשלחת, השולח הלא- ישר מתחיל לעבוד בחשאי על שרשרת מקבילה המכילה גרסה חלופית של הפעולה שלו. המקבל מחכה עד שהפעולה התווספה ל ו- z ים שורשרו לאחריו. הוא לא יודע את מידת ההתקדמות המדויקת של התוקף, אבל בהנחה שהים הישרים לקחו פרק זמן ממוצע לכל, ההתקדמות האפשרית של התוקף היא משתנה פואסון עם תוחלת: =z q p כדי למצוא את ההסתברות שהתוקף יוכל עדיין להדביק את הפער, אנו כופלים את צפיפות התפלגות פואסון לכל מידת התקדמות אפשרית בהסתברות שהוא ידביק את הפער מנקודה זאת: k=0 k e k! { q/ p z k ifk z 1 ifk z} שינוי סדר האיברים כדי להימנע מסכימת הזנב האינסופי של ההתפלגות המרה לקוד בשפת C z 1 k=0 k e 1 q/ p z k k! #include <math.h> double AttackerSuccessProbability(double q, int z) { double p = 1.0 - q; double lambda = z * (q / p); double sum = 1.0; int i, k; for (k = 0; k <= z; k++) { double poisson = exp(-lambda); for (i = 1; i <= k; i++) poisson *= lambda / i; sum -= poisson * (1 - pow(q / p, z - k)); } return sum; } 7

מהרצת מספר תוצאות, אנו יכולים לראות שההסתברות קטנה באופן מעריכי עם z. q=0.1 z=0 P=1.0000000 z=1 P=0.2045873 z=2 P=0.0509779 z=3 P=0.0131722 z=4 P=0.0034552 z=5 P=0.0009137 z=6 P=0.0002428 z=7 P=0.0000647 z=8 P=0.0000173 z=9 P=0.0000046 z=10 P=0.0000012 q=0.3 z=0 P=1.0000000 z=5 P=0.1773523 z=10 P=0.0416605 z=15 P=0.0101008 z=20 P=0.0024804 z=25 P=0.0006132 z=30 P=0.0001522 z=35 P=0.0000379 z=40 P=0.0000095 z=45 P=0.0000024 z=50 P=0.0000006 מציאת התנאים הדרושים להסתברות קטנה מ- 0.1% P < 0.001 q=0.10 z=5 q=0.15 z=8 q=0.20 z=11 q=0.25 z=15 q=0.30 z=24 q=0.35 z=41 q=0.40 z=89 q=0.45 z=340 12. סיכום הצענו מערכת לעסקאות אלקטרוניות שאינה מסתמכת על אמון. התחלנו עם המסגרת הרגילה של מטבעות העשויים מחתימות דיגיטליות, המספקת שליטה חזקה בבעלות, אך אינה שלמה ללא דרך למנוע ניצול כפול. כדי לפתור זאת, בצענו רשת שיתופית המשתמשת בהוכחת עבודה כדי לנהל רישום של היסטוריה פומבית של פעולות, שבמהרה הופכת לבלתי-מעשית מבחינה חישובית להשתנות על ידי תוקף אם צמתים ישרים שולטים במרבית כוח החישוב. הרשת עמידה מעצם הפשטות חסרת המבנה שלה. צמתים עובדים בו-זמנית עם מעט תיאום. הם אינם צריכים להזדהות, היות והודעות אינן מנותבות למקום מסוים וצריכות להימסר רק על בסיס מיטב המאמצים. צמתים יכולים לעזוב את הרשת ולהצטרף אליה מחדש כרצונם, תוך קבלת שרשרת הוכחת העבודה כהוכחה למה שקרה בהיעדרם. הם מצביעים עם עוצמת חישוב, ומביעים את הסכמתם עם ים תקינים בעבודה על המשכתם, ודוחים ים בלתי-קבילים בסירוב לעבוד עליהם. ניתן לאכוף כל כלל או תמריץ שיידרש עם מנגנון ההסכמה הכללית הזה. 8

[1] W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998. [2] H. Massias, X.S. Avila, and J.-J. Quisquater, "Design of a secure timestamping service with minimal trust requirements," In 20th Symposium on Information Theory in the Benelux, May 1999. [3] S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991. [4] D. Bayer, S. Haber, W.S. Stornetta, "Improving the efficiency and reliability of digital time-stamping," In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993. [5] S. Haber, W.S. Stornetta, "Secure names for bit-strings," In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. [6] A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002. [7] R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980. [8] W. Feller, "An introduction to probability theory and its applications," 1957. הפניות Hebrew translation by: Meni Rosenfeld Translation formatted by: Jim Nguyen 9